Determination of the Next Release of a Software Product: an Approach using Integer Linear Programming
نویسندگان
چکیده
Selection of the requirements for the next release of a software product is a inherently complex task due to the high volume of intricate requirements and to the varied interests of the stake holders involved. In this paper we apply integer linear programming techniques to aid requirements managers of product software companies in release planning. The applied techniques take candidate requirements, estimated revenue per requirement (or combination of requirements), and available resources as input. Planning suppleness is added by way of allowing flexibility in team composition, team transfers, extension of deadlines and hiring external resources. Through experiments the application of the proposed approach is demonstrated with real life data. Future additions to the model are identified, as well as improved validation. 1 Planning the next release Companies developing product or embedded software face challenges in determining the set of requirements for an upcoming release. Confronted with hundreds, if not thousands, of requirements proposed by users, potential customers, marketing and sales managers, architects and software engineers, it is far from trivial to select those requirements that add most value to the product. Different stake holders in the planning process may each have their own preferred content in view of the projected revenue estimations and required development efforts. In Figure 1 the requirements management process is depicted in relation to the development of a release. The picture is derived from Natt och Dag et al. (2005) and shows the practice Baan (an enterprise resource planning software company, now part SSA Global). We use this process to describe the context of the release planning process. Market requirements represent the wishes from existing and potential customers of the software product. Product requirements are defined as generic customer wishes that can be included in the software solution to be developed Supported by BSIK grant 03018 (BRICKS: Basic Research in Informatics for Creating the knowledge Society) Fig. 1. The requirements management process related to development management by the software vendor. Release initiation is a formal document triggering the release of a development project. The release definition contains the list of product requirements to be developed in the upcoming release. Conceptual solutions in requirements management are used to sketch the business context of one or more product requirements, and help developers to view the ‘big picture’ of the development of a product requirement. Finally, the selected product requirements will be developed into software components. Provided the set of all product requirements, many aspects influence the definition of an optimal set of requirements for a next release. For example, the importance or business value of the requirement, personal preference of certain customers and other stake holders, penalty if not developed, cost of development in man-days, development lead-time, requirement volatility, requirement dependencies, ability to reuse, and requirements quality (e.g. Berander and Andrews (2005); Firesmith (2004); Ruhe et al. (2003); Natt och Dag et al. (2004); Natt och Dag et al. (2005)). So we address what an adequate set of product requirements is for an upcoming release of the software, in the context of business continuity of the product software company. We develop and demonstrate an optimization technique, based on Integer Linear Programming (ILP) (see e.g. Wolsey (1998) for a general introduction on ILP; see e.g. Van den Akker, et al. (1999A) and Van den Akker, et al. (1999B) for application of ILP in the area of scheduling), to support software vendors in determining the next release of product software. Our technique is based on the assumption that a release’s best set of requirements is the set that results maximum projected revenue against available resources in a given time period. We take into account practical aspects, including the total list of requirements, whether or not requirements are dependent on one another, a requirement’s projected revenue, and a requirements resource claim per development team. To further increase its application in practice, we enhance our technique with managerial steering mechanisms, i.c. enabling of team transfers, conceding release deadline extension, allowing extra resources, and more. By introducing these aspects and managerial steering mechanisms into ILP models for the release composition process we extend the work of Jung (1998), who also applied linear programming techniques in the context of release planning. Our approach is original in three ways. Firstly, we include a unique set of aspects, among others needed team capacity per requirement. Secondly, we introduce unique yet practical managerial steering mechanisms that can help product managers and development project managers in release planning: enabling of team transfers, and deadlines and extra resources. Thirdly, we apply ILP techniques in a unique way. 2 Integer linear programming models for release planning Let {R1, R2, . . . , Rn} be the set of candidate requirements. For each requirement Rj we assume we can estimate its revenue vj . Further assume that we have a fixed development period. We have to find the subset of requirements for the next release such that the revenue is maximal and the available capacity is not exceeded. We denote our development period by T and define d(T ) as the number of working days in the development period. Moreover, let Q be the number of persons working in the development teams of the company. Then, the available capacity equals d(T )Q man-days. Moreover, we have an estimate aj of the amount of man days needed for the implementation of requirement Rj . We model the requirements selection problem in terms of binary variables xj (j = 1, . . . , n), where xj = { 1 if requirement Rj is selected; 0 otherwise. The problem can be modeled as an ILP problem in the following way:
منابع مشابه
A mixed integer linear programming formulation for a multi-stage, multi-Product, multi-vehicle aggregate production-distribution planning problem
In today’s competitive market place, companies seek an efficient structure of supply chain so as to provide customers with highest value and achieve competitive advantage. This requires a broader perspective than just the borders of an individual company during a supply chain. This paper investigates an aggregate production planning problem integrated with distribution issues in a supply chain ...
متن کاملA new heuristic approach to solve product mix problems in a multi-bottleneck system
Product mix problem (PMP) is one of the most important and complicated problems in production systems. Different approaches have been applied to solve this problem, among them, theory of constraints (TOC) has been widely considered since 1990s. This paper develops a distinguished algorithm to solve product mix prob-lems that is efficient both in single and multi-bottleneck problems. At first, t...
متن کاملAn L1-norm method for generating all of efficient solutions of multi-objective integer linear programming problem
This paper extends the proposed method by Jahanshahloo et al. (2004) (a method for generating all the efficient solutions of a 0–1 multi-objective linear programming problem, Asia-Pacific Journal of Operational Research). This paper considers the recession direction for a multi-objective integer linear programming (MOILP) problem and presents necessary and sufficient conditions to have unbounde...
متن کاملA nonlinear multi objective model for the product portfolio optimization: An integer programming
Optimization of the product portfolio has been recognized as a critical problem in industry, management, economy and so on. It aims at the selection of an optimal mix of the products to offer in the target market. As a probability function, reliability is an essential objective of the problem which linear models often fail to evaluate it. Here, we develop a multiobjective integer nonlinear cons...
متن کاملA Three-Echelon Multi-Objective Multi-Period Multi-Product Supply Chain Network Design Problem: A Goal Programming Approach
In this paper, a multi-objective multi-period multi-product supply chain network design problem is introduced. This problem is modeled using a multi-objective mixed integer mathematical programming. The objectives are maximizing the total profit of logistics, maximizing service level, and minimizing inconsistency of operations. Several sets of constraints are considered to handle the real situa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005